package cn.kgm.user.server.struct;

import cn.kgm.user.dto.dto.UserEquipmentIpSaveDTO;
import cn.kgm.user.dto.dto.UserEquipmentIpUpdateDTO;
import cn.kgm.user.dto.entity.UserEquipmentIp;
import cn.kgm.user.dto.query.UserEquipmentIpPageQuery;
import cn.kgm.user.dto.vo.UserEquipmentIpVO;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * # 技术改变自己 #
 * 用户设备IP绑定关系
 * @author kappi
 * @date   2024-04-08 13:28:48
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface UserEquipmentIpMappers {
    UserEquipmentIpMappers INSTANCE = Mappers.getMapper(UserEquipmentIpMappers.class);

    /**
     * 将 UserEquipmentIpSaveDTO 映射成 UserEquipmentIp 对象
     *
     * @param source 源对象
     * @return UserEquipmentIp
     */
    UserEquipmentIp mapToEntity(UserEquipmentIpSaveDTO source);

    /**
     * 将 UserEquipmentIpUpdateDTO 映射成 UserEquipmentIp 对象
     *
     * @param source 源对象
     * @return UserEquipmentIp
     */
    UserEquipmentIp mapToEntity(UserEquipmentIpUpdateDTO source);

    /**
     * UserEquipmentIpPageQuery 映射成 UserEquipmentIp 对象
     *
     * @param source 源对象
     * @return UserEquipmentIp
     */
    UserEquipmentIp mapToEntity(UserEquipmentIpPageQuery source);

    /**
     * UserEquipmentIpPageQuery 映射成 UserEquipmentIp 对象
     *
     * @param source 源对象
     * @return UserEquipmentIpVO
     */
    UserEquipmentIpVO mapToEntity(UserEquipmentIp source);

}
